home *** CD-ROM | disk | FTP | other *** search
- * Q B D B F U N C
-
- function QBDBCTRL
- parameters DBNAME, MODE
-
- do QBCLMESS
- QBKEY = lastkey()
- if QBKEY=27
- GETOUT = .t.
- return -1
- endif
-
- do case
- case MODE=0 .or. MODE=1
- do EEDDPRMT
- return 1
- case (MADD) .or. (MODE=3)
- QBRESP="A"
- MTLINENO = 0
- case MODE=2
- do QBPROMPT with "Add new "+DBNAME+" lines? (Y/N)","YN"
- if QBRESP="Y"
- QBRESP="A"
- MTLINENO = 0
- endif
- case QBKEY=13
- do QBPROMPT with "Edit this line? (Y/N)","YN"
- if QBRESP="Y"
- QBRESP = "E"
- endif
- case upper(chr(QBKEY))$"EDUQ"
- QBRESP = upper(chr(QBKEY))
- otherwise
- do QBPROMPT with "(I)gnore, (E)dit, (D)elete, (U)ndelete all, (Q)uit","IEDUQ"
- endcase
-
- return 0 && Action for dbedit
-
-
- ***------------------------------------
- procedure QBDBEXIT
- Parameters dbname, CURREC
- private GO_REC, SCRBOT
-
- if GETOUT
- do QBPROMPT with "Finished "+dbname+" editing? (Y/N)","NY"
- GETOUT = (QBRESP="Y")
- endif
-
- if .not. GETOUT
- do EEDDPRMT
- go_rec = max(reccount()-6,1)
- go go_rec
- if .not. MADD
- SCRBOT = replicate(chr(24),iif(go_rec=1,currec-1,6))
- else
- SCRBOT = replicate(chr(24),15)
- endif
- keyboard SCRBOT
- endif
-
- return
-